package com.wjm;

import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;

/**
 * Data:2022年09月04日
 * Author:wjm
 * Content:
 *   工具类
 *   用来建立连接，和关闭连接
 */
public class JdbcUtil {
    public static String url;
    public static String user;
    public static String password;

    /**
     * 从配置文件中加载url，user，password
     */
    static {
        try {
            //获取输入流
            InputStream in = TestJdbc.class.getClassLoader().getResourceAsStream("db.properties");

            Properties properties = new Properties();
            //通过io流将读取的数据加载到Properties对象中
            properties.load(in);

            //通过properties对象获取数据
            url = properties.getProperty("jdbc.url");
            user = properties.getProperty("jdbc.user");
            password = properties.getProperty("jdbc.password");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }


    /**
     * 获取连接对象的方法
     * @return 返回一个连接对象
     */
    public static Connection getConnection() {
        Connection connection = null;
        try {
            connection = DriverManager.getConnection(url,user,password);
        } catch (SQLException throwables) {
            throwables.printStackTrace();
        }
        return connection;
    }


    /**
     * 关闭连接的方法
     * @param connection 需要关闭的连接
     */
    public static  void close(Connection connection){
        try {
            connection.close();
        } catch (SQLException throwables) {
            throwables.printStackTrace();
        }
    }
}
